The present invention relates to a coding method and coder of the type that compresses an input signal, such as a digital audio signal, by coding the difference between the input signal and a predicted signal, and to a corresponding decoder.
Coders of this type compress digital audio signals by exploiting the strong correlation between nearby samples of the signal. Two well-known examples of this coding method, both of which can be implemented with comparatively simple processing, are differential pulse-code modulation (DPCM) and adaptive differential pulse-code modulation (ADPCM). In these coding methods, the predicted value of each sample is the decoded value of the preceding sample.
DPCM employs a quantizer with a fixed step size. As a result, overload noise is perceived when the input signal level is high, because the coder is lacks sufficient bits to encode the signal, and granular noise is perceived when the signal level is low, because the step size is too large in relation to the signal level. In ADPCM, the step size is varied as the input signal level varies, and the perceived amount of these two types of quantization noise is reduced.
The sensitivity of the human ear to quantization noise is comparatively high at low sound levels, and comparatively low at high sound levels. By taking advantage of this property, ADPCM can also reduce the size of the coded data, as compared with DPCM.
At present, ADPCM is used for coding both voice signals, as in the Japanese personal handy-phone system (PHS), and music signals, e.g. for prevention of skipping in portable compact disc (CD) players. In CD applications, sixteen-bit input sample values are compressed to four-bit coded values. This 4:1 compression ratio is not particularly high, but even so, the decoded signal is noticeably inferior to the original signal, because of the effects of quantization noise on high-frequency components (the CD sampling rate of 44.1 kilohertz permits reproduction of even the highest audible frequency components).
The quality of the decoded signal can be improved by using five bits per sample instead of four, but the size of the coded data is then increased by twenty-five percent. There is a need for a coding method that reduces quantization noise without increasing the data size so much.